Icon
The ICO file format is an image file format used for icons in Microsoft Windows. The CUR file format for cursors is almost identical, as the only differences are the identification byte and a specification of a hotspot in the header. ICO files contain one or more small images at multiple sizes and color depths. The official IANA registered Internet media type for ico files is image/vnd.microsoft.icon. Before this was registered, image/x-icon was the accepted option that complied with the rules of using ''x-'' for unregistered tokens. However, many others are seen, including image/ico, image/icon, text/ico, and application/ico. Many web servers do not come configured with an Internet media type setting for .ico files, and may send their default Internet media type, which might be text/html or text/plain. Icon sizes, color depths, and transparency data Originally 32×32 pixels square and using 16 colors, more recent versions of Microsoft Windows support icons at multiple sizes and color depths. Prior to Windows XP, icon images could be any size from 1×1 pixel up to 255×255 pixels (including non-square sizes), and 4-, 8-, 16-, or 24-bit color depth. Commonly an icon file would contain both 16x16 and 32x32 (for the start menu and folder "large icons" view) and 16x16 (for window title bars, submenus of the start menu and folder small icons, list and details views). Icon image data was always made up of two bitmaps: the AND bitmap and the XOR bitmap. The AND bitmap is 1 bit per pixel and is applied first to decide which areas of the image are affected by the background. The XOR bitmap is then applied using XOR. This allows for transparent areas in the image but also allows for inverting the background and other tricks. Windows XP adds support for 32-bit color depth icon images, with transparency taken from the alpha channel of the image, allowing semitransparent areas like shadows and anti-aliased edges. As the AND bitmap is no longer used, these icon images contain only XOR bitmap data. Windows XP also adds the ability to display icons at up to 96×96 pixel resolution in the graphical shell; however, Microsoft only recommended icon sizes up to 48×48 pixels, so larger icon sizes are uncommon. Windows Vista added support for 256×256 pixel icon images, and supports (but does not require) the compressed PNG format for that size. The PNG format encodes the image transparency data directly; it contains neither the XOR nor the AND bitmap data of the other icon image formats. It is recommended that all 256×256 icons should be stored in the ICO file in PNG format to reduce the overall size of the file. The Windows Vista graphical shell supports "zooming" the display in and out; as a result, more icon formats (including the larger, 256×256 format) are recommended. ICO files can be edited or exported with a number of graphics programs. File structure All values are represented in little-endian (Intel standard) format. Header Directory Recommended icon sizes for Windows Vista compatibility The full set of standard icon sizes which should be provided for full Windows Vista compatibility: # 256×256, 32-bit color, PNG compressed # 48×48, 32-bit color, uncompressed # 48×48, 8-bit color, uncompressed # 48×48, 4-bit color, uncompressed # 32×32, 32-bit color, uncompressed # 32×32, 8-bit color, uncompressed # 32×32, 4-bit color, uncompressed # 16×16, 32-bit color, uncompressed # 16×16, 8-bit color, uncompressed # 16×16, 4-bit color, uncompressed References See also * Windows bitmap, a very similar file format * Apple Icon Image, the icon format used in Mac OS X. * Favicon, an icon format used for websites * Icon editor External links * IANA registration information for image/vnd.microsoft.icon * Explanation of the ICO implementation from Microsoft (Does not include the changes made in the Vista format) * Microsoft's Guide for creating icons * * Category:Graphics file formats